package curso;

//import util.*;

//import java.util.Hashtable;
//import java.util.Properties;

import java.util.List;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
//import javax.rmi.PortableRemoteObject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

//import proyecto.library.CursoBean;
//import proyecto.library.CursoBeanLocal;
import proyecto.ABMCursos.CursoBE;
import proyecto.ABMCursos.CursoDAO;
import proyecto.ABMCursos.CursoDAOLocal;
import util.Common;
//import util.Curso;

/**
 * @author Administrador
 *
 */
public class AltaCursoAction extends Action {
		
	public ActionForward execute(
			ActionMapping mapping,
			ActionForm form,			
			HttpServletRequest request,
			HttpServletResponse response) {
						
			CursoDAOLocal cursoDAOLocal = null;
			final Context context;
		
			AltaCursoForm altaCursoForm =
			(AltaCursoForm) form;			
											
			if (isCancelled(request)){
				//log.debug("Cancel Button was pushed!");
				return mapping.findForward("welcome");
			}
			else{			
				try
				{							
					context = new InitialContext();
					//cursoDAOLocal = (CursoDAOLocal) context.lookup("CursoDAO/local");
					cursoDAOLocal = (CursoDAOLocal) context.lookup("CursoDAO/remote");
				} catch (NamingException e)				{
					e.printStackTrace();
					throw new RuntimeException(e);				
				}	
				//Alta de curso				
				//CursoBE curso = new CursoBE(altaCursoForm.getNombre(),altaCursoForm.getDescripcion());
				//int cursoNuevo = cursoDAOLocal.save(curso); //alta de curso
				//System.out.println("nuevo curso insertado " + cursoNuevo); //alta de curso
								
				
				//Buscar curso por id
				//int cursoBusco = 7;
				//CursoBE curso = cursoDAOLocal.findById(cursoBusco);
				//System.out.println("Curso find: id curso " + curso.getIdCurso() + "nombre " + curso.getNombre() + "descripcion " + curso.getDescripcion());
			    //curso.setDescripcion("curso de computacion Nuevo");
				
				
				//Busco cursos por nombre 
				List cursos = cursoDAOLocal.findByName("curso A");
				System.out.println("cantidad de cursos encontrados: " + cursos.size());
				
				
				//Busco todos los cursos
				//List cursos = cursoDAOLocal.findAll();
				//System.out.println("cantidad de cursos encontrados: " + cursos.size());
				
				//Merge curso				
				//cursoDAOLocal.merge(curso); //update de curso				
				
				
				//Remove curso
				//cursoDAOLocal.remove(7);
				
				
				//List cursos = cursoDAOLocal.findAll();
				//System.out.println("cantidad" + cursos.size());
				return mapping.findForward(Common.SUCCESS);				
		}
	}


}
